home *** CD-ROM | disk | FTP | other *** search
- #!/usr/bin/perl
-
- use strict ;
- use warnings ;
- use IO::Uncompress::Gunzip qw($GunzipError);
-
- die "Usage: gzgrep pattern [file...]\n"
- unless @ARGV >= 1;
-
- my $pattern = shift ;
- my $file ;
-
- @ARGV = '-' unless @ARGV ;
-
- foreach $file (@ARGV) {
- my $gz = new IO::Uncompress::Gunzip $file
- or die "Cannot uncompress $file: $GunzipError\n" ;
-
- while (<$gz>) {
- print if /$pattern/ ;
- }
-
- die "Error reading from $file: $GunzipError\n"
- if $GunzipError ;
- }
-
- __END__
- foreach $file (@ARGV) {
- my $gz = gzopen($file, "rb")
- or die "Cannot open $file: $gzerrno\n" ;
-
- while ($gz->gzreadline($_) > 0) {
- print if /$pattern/ ;
- }
-
- die "Error reading from $file: $gzerrno\n"
- if $gzerrno != Z_STREAM_END ;
-
- $gz->gzclose() ;
- }
-